//路由鉴权
//什么条件跨域访问路由，生命条件下不可以访问路由
import router from './router'
import nprogress from 'nprogress'
//引入进度条css
import 'nprogress/nprogress.css'
//获取用户相关的小仓库内部的id，来判断，用户是否登录
import useUserStore from './store/modules/user'
import pinia from './store'
//获取
const useStore = useUserStore(pinia)
const username = useStore.username
//全局的前置首位
router.beforeEach((to: any, from: any, next: any) => {
  nprogress.start()
  //获取id
  const token = useStore.idNumber
  if (token) {
    //登录
    if (to.path == '/login') {
      //不能访问
      next({ path: '/' })
    } else {
      //登录成功访问其余路由
      //有用户信息我放行
      if (username) {
        next()
      } else {
        //无就发起请求
        next() //意思一下，我就直接存本地了
      }
    }
  } else {
    //未登录
    if (to.path == '/login') {
      next()
    } else {
      next({ path: '/login', query: { redirect: to.path } })
    }
  }
  //访问某个路由前的钩子
  next()
})
//全局的后置守卫
router.afterEach((to: any, from: any, next: any) => {
  //to:你将要访问哪个路由
  //from ：你从哪个路由来的
  //next: 放行函数
  nprogress.done()
})
//NProgress 插件是进度条插件呀
//用户未登录，用户只能访问login，//登录就不能访问login了
